{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Clustering TCR Sequences"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Following featurization of the TCRSeq data, users will often want to cluster the TCRSeq data to identify possible antigen-specific clusters of sequences. In order to do this, we have provided multiple ways for clustering your TCR sequences."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Phenograph Clustering"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The first method we will explore is using a network-graph based clustering algorithm called Phenograph (https://github.com/jacoblevine/PhenoGraph). This method automatically determines the number of clusters in the data by maximizing the modularity of the network-graph asssembled from the data. Of note, this algorithm is very fast and will be useful for when there are possibly thousands to tens of thouands of sequences to cluster. However, clusters by this method tend to be quite large."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, we will load data and train the VAE."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%%capture\n",
    "import sys\n",
    "sys.path.append('../../')\n",
    "from DeepTCR.DeepTCR import DeepTCR_U\n",
    "\n",
    "# Instantiate training object\n",
    "DTCRU = DeepTCR_U('Tutorial')\n",
    "\n",
    "#Load Data from directories\n",
    "DTCRU.Get_Data(directory='../../Data/Murine_Antigens',Load_Prev_Data=False,aggregate_by_aa=True,\n",
    "               aa_column_beta=0,count_column=1,v_beta_column=2,j_beta_column=3)\n",
    "\n",
    "#Train VAE\n",
    "DTCRU.Train_VAE(Load_Prev_Data=False)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will then run the clustering command."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finding 30 nearest neighbors using minkowski metric and 'auto' algorithm\n",
      "Neighbors computed in 2.4460246562957764 seconds\n",
      "Jaccard graph constructed in 1.2568926811218262 seconds\n",
      "Wrote graph to binary file in 0.24796557426452637 seconds\n",
      "Running Louvain modularity optimization\n",
      "After 1 runs, maximum modularity is Q = 0.889629\n",
      "Louvain completed 21 runs in 2.964170455932617 seconds\n",
      "PhenoGraph complete in 6.92734694480896 seconds\n",
      "Clustering Done\n"
     ]
    }
   ],
   "source": [
    "DTCRU.Cluster(clustering_method='phenograph')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Following clustering, we can view the clustering solutions by looking at the object variable called Cluster_DFs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "    Alpha_Sequences      Beta_Sequences   Labels                Sample  \\\n",
      "0              None     CASSPGTGGTERLFF    Db-F2             Db-F2.tsv   \n",
      "1              None       CASSMGANERLFF    Db-F2             Db-F2.tsv   \n",
      "2              None       CASSLGSQNTLYF   Db-M45            Db-M45.tsv   \n",
      "3              None       CASSLGGQNTLYF   Db-M45            Db-M45.tsv   \n",
      "4              None    CASSPGQGVSNERLFF   Db-M45            Db-M45.tsv   \n",
      "5              None      CASSLVGDQNTLYF   Db-M45            Db-M45.tsv   \n",
      "6              None       CASSPGGQNTLYF   Db-M45            Db-M45.tsv   \n",
      "7              None     CASSSGGGSQNTLYF   Db-M45            Db-M45.tsv   \n",
      "8              None    CASSRGWGGPENTLYF   Db-M45            Db-M45.tsv   \n",
      "9              None       CASSLSSQNTLYF   Db-M45            Db-M45.tsv   \n",
      "10             None       CASSAGGENTLYF   Db-M45            Db-M45.tsv   \n",
      "11             None       CASSLGTENTLYF   Db-M45            Db-M45.tsv   \n",
      "12             None   CASSLEDWGDSQNTLYF   Db-M45            Db-M45.tsv   \n",
      "13             None       CASSLGGHERLFF   Db-M45            Db-M45.tsv   \n",
      "14             None       CASSLGGADTLYF   Db-M45            Db-M45.tsv   \n",
      "15             None     CASSLGGGSQNTLYF   Db-M45            Db-M45.tsv   \n",
      "16             None   CASSLDRRNSYNSPLYF    Db-NP             Db-NP.tsv   \n",
      "17             None     CAWSHTGGARNTLYF    Db-NP             Db-NP.tsv   \n",
      "18             None        CASSLWRDTLYF    Db-NP             Db-NP.tsv   \n",
      "19             None    CASSQESLPSNERLFF    Db-NP             Db-NP.tsv   \n",
      "20             None     CASSQEDWGQNTLYF    Db-NP             Db-NP.tsv   \n",
      "21             None    CASSPWGGADQNTLYF    Db-NP             Db-NP.tsv   \n",
      "22             None     CASSQDQGAPERLFF    Db-NP             Db-NP.tsv   \n",
      "23             None    CASSTRDRRSQNTLYF    Db-NP             Db-NP.tsv   \n",
      "24             None    CASSLGTGGIQNTLYF    Db-NP             Db-NP.tsv   \n",
      "25             None       CASRDFSQNTLYF    Db-NP             Db-NP.tsv   \n",
      "26             None     CASSLTAISNERLFF    Db-NP             Db-NP.tsv   \n",
      "27             None     CASSLRGLSQNTLYF    Db-NP             Db-NP.tsv   \n",
      "28             None      CASSLGGQKNTLYF    Db-NP             Db-NP.tsv   \n",
      "29             None    CASSLGDSLYNSPLYF    Db-NP             Db-NP.tsv   \n",
      "..              ...                 ...      ...                   ...   \n",
      "144            None        CTCTGGGERLFF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "145            None   CASSQDFRGTSQNTLYF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "146            None      CASAGLGGQNTLYF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "147            None     QKTAYDTISNERLFF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "148            None     NRTCRTEPNNQAPLF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "149            None       CASSGQGNERLFF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "150            None     CASSFPGQGNTEVFF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "151            None     CASGDLTGGQNTLYF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "152            None    CASSLDRRVSNERLFF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "153            None   CASSQERQLISNERLFF  Kb-TRP2  Kb-2_Sp_Con_TRP2.tsv   \n",
      "154            None     QKTAYDTISNERLFF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "155            None     CASSFHRDYNSPLYF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "156            None  YASSLKNQGSPSTNTLYF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "157            None     EDTAYDTISNERLFF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "158            None      CSSSHQGTNERLFF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "159            None      KGPIRSTSQNTLYF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "160            None      SPHRTGWPALALTD  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "161            None     RSIAHDTISNERLFF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "162            None       CASSFSTQNTLYF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "163            None       CASSFDSNERLFF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "164            None      CASMQGISQNTLYF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "165            None      CASSHSRGNERLFF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "166            None      CASSLRGANERLFF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "167            None    CASSLGWGTSQNTLYF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "168            None     CASSLELGSQNTLYF  Kb-TRP2     Kb-7_dLN_TRP2.tsv   \n",
      "169            None       CASSTTSQNTLYF  Kb-m139           Kb-m139.tsv   \n",
      "170            None      CASSTGRNQNTLYF  Kb-m139           Kb-m139.tsv   \n",
      "171            None       CASGETSQNTLYF  Kb-m139           Kb-m139.tsv   \n",
      "172            None     CASRSGGGGQNTLYF  Kb-m139           Kb-m139.tsv   \n",
      "173            None       CASSINRGNTLYF  Kb-m139           Kb-m139.tsv   \n",
      "\n",
      "     Frequency V_alpha J_alpha      V_beta D_beta      J_beta           HLA  \n",
      "0     0.008547    None    None  TCRBV19-03   None  TCRBJ01-04  [N, o, n, e]  \n",
      "1     0.008547    None    None  TCRBV19-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "2     0.017182    None    None  TCRBV12-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "3     0.006873    None    None  TCRBV12-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "4     0.003436    None    None  TCRBV12-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "5     0.003436    None    None  TCRBV12-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "6     0.003436    None    None  TCRBV12-02   None  TCRBJ02-04  [N, o, n, e]  \n",
      "7     0.003436    None    None  TCRBV12-02   None  TCRBJ02-04  [N, o, n, e]  \n",
      "8     0.003436    None    None  TCRBV17-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "9     0.003436    None    None  TCRBV12-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "10    0.003436    None    None  TCRBV12-02   None  TCRBJ02-04  [N, o, n, e]  \n",
      "11    0.003436    None    None  TCRBV12-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "12    0.003436    None    None  TCRBV12-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "13    0.003436    None    None  TCRBV12-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "14    0.003436    None    None  TCRBV12-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "15    0.003436    None    None  TCRBV12-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "16    0.009836    None    None  TCRBV12-01   None  TCRBJ01-06  [N, o, n, e]  \n",
      "17    0.006557    None    None  TCRBV31-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "18    0.006557    None    None  TCRBV26-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "19    0.003279    None    None  TCRBV02-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "20    0.003279    None    None  TCRBV02-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "21    0.003279    None    None  TCRBV05-04   None  TCRBJ02-04  [N, o, n, e]  \n",
      "22    0.003279    None    None  TCRBV05-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "23    0.003279    None    None  TCRBV26-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "24    0.003279    None    None  TCRBV24-02   None  TCRBJ02-04  [N, o, n, e]  \n",
      "25    0.003279    None    None  TCRBV19-03   None  TCRBJ02-04  [N, o, n, e]  \n",
      "26    0.003279    None    None  TCRBV16-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "27    0.003279    None    None  TCRBV05-04   None  TCRBJ02-04  [N, o, n, e]  \n",
      "28    0.003279    None    None  TCRBV16-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "29    0.003279    None    None  TCRBV12-01   None  TCRBJ01-06  [N, o, n, e]  \n",
      "..         ...     ...     ...         ...    ...         ...           ...  \n",
      "144   0.011628    None    None  TCRBV01-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "145   0.009967    None    None  TCRBV05-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "146   0.004983    None    None  TCRBV13-02   None  TCRBJ02-04  [N, o, n, e]  \n",
      "147   0.004983    None    None  TCRBV15-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "148   0.001661    None    None  TCRBV15-01   None  TCRBJ01-05  [N, o, n, e]  \n",
      "149   0.001661    None    None  TCRBV12-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "150   0.001661    None    None  TCRBV15-01   None  TCRBJ01-01  [N, o, n, e]  \n",
      "151   0.001661    None    None  TCRBV13-02   None  TCRBJ02-04  [N, o, n, e]  \n",
      "152   0.001661    None    None  TCRBV12-02   None  TCRBJ01-04  [N, o, n, e]  \n",
      "153   0.001661    None    None  TCRBV05-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "154   0.020619    None    None  TCRBV15-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "155   0.010309    None    None  TCRBV14-01   None  TCRBJ01-06  [N, o, n, e]  \n",
      "156   0.010309    None    None  TCRBV06-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "157   0.005155    None    None  TCRBV15-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "158   0.005155    None    None  TCRBV23-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "159   0.005155    None    None  TCRBV15-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "160   0.005155    None    None  TCRBV15-01   None  TCRBJ02-06  [N, o, n, e]  \n",
      "161   0.005155    None    None  TCRBV15-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "162   0.005155    None    None  TCRBV16-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "163   0.005155    None    None  TCRBV03-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "164   0.005155    None    None  TCRBV03-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "165   0.005155    None    None  TCRBV12-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "166   0.005155    None    None  TCRBV15-01   None  TCRBJ01-04  [N, o, n, e]  \n",
      "167   0.005155    None    None  TCRBV16-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "168   0.005155    None    None  TCRBV16-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "169   0.034483    None    None  TCRBV26-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "170   0.011494    None    None  TCRBV17-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "171   0.011494    None    None  TCRBV13-04   None  TCRBJ02-04  [N, o, n, e]  \n",
      "172   0.011494    None    None  TCRBV15-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "173   0.011494    None    None  TCRBV19-01   None  TCRBJ02-04  [N, o, n, e]  \n",
      "\n",
      "[174 rows x 11 columns]\n"
     ]
    }
   ],
   "source": [
    "DFs = DTCRU.Cluster_DFs\n",
    "print(DFs[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also choose to save these results to a directory called Name of object + '_Results' by setting the write_to_sheets parameter to True. There, we can find the propritons of every sample in each cluster and csv files for every cluster detailing the sequence information with other information as well."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finding 30 nearest neighbors using minkowski metric and 'auto' algorithm\n",
      "Neighbors computed in 2.1649014949798584 seconds\n",
      "Jaccard graph constructed in 1.3692421913146973 seconds\n",
      "Wrote graph to binary file in 0.25616955757141113 seconds\n",
      "Running Louvain modularity optimization\n",
      "After 1 runs, maximum modularity is Q = 0.889114\n",
      "After 3 runs, maximum modularity is Q = 0.890796\n",
      "Louvain completed 23 runs in 3.6276657581329346 seconds\n",
      "PhenoGraph complete in 7.433722734451294 seconds\n",
      "Clustering Done\n"
     ]
    }
   ],
   "source": [
    "DTCRU.Cluster(clustering_method='phenograph',write_to_sheets=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also employ two other clustering algorithms (hierarchical clustering and DBSCAN). For these types of methods, we can either control the settings for the algorithm such as the threshold parameter (t), the criterion/linkage algorithm for heirarchical clustering, or we can allow the method to determine the optimal threshold parameter by maximizing the silhoutte score of the clustering solution. First, if we run hierarchial clustering letting the program determing the right threshold parameters:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Hierarchical Clustering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Clustering Done\n"
     ]
    }
   ],
   "source": [
    "DTCRU.Cluster(clustering_method='hierarchical')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or we can set the parameters ourselves."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Clustering Done\n"
     ]
    }
   ],
   "source": [
    "DTCRU.Cluster(clustering_method='hierarchical',criterion='distance',t=1.0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## DBSCAN clustering"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And to use DBSCAN..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Clustering Done\n"
     ]
    }
   ],
   "source": [
    "DTCRU.Cluster(clustering_method='dbscan')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the case there are perhaps too many sequences to efficiently cluster the data quickly, one can downsample the data and then use a k-nearest neighbor algorithm to classify the rest of the sequences like so .Here, we will downsample 500 sequenes for clustering and then assign the rest via KNN."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finding 30 nearest neighbors using minkowski metric and 'auto' algorithm\n",
      "Neighbors computed in 0.15642714500427246 seconds\n",
      "Jaccard graph constructed in 0.2672147750854492 seconds\n",
      "Wrote graph to binary file in 0.14577651023864746 seconds\n",
      "Running Louvain modularity optimization\n",
      "After 1 runs, maximum modularity is Q = 0.692053\n",
      "After 2 runs, maximum modularity is Q = 0.697311\n",
      "After 3 runs, maximum modularity is Q = 0.700883\n",
      "Louvain completed 23 runs in 3.4247944355010986 seconds\n",
      "PhenoGraph complete in 4.003698348999023 seconds\n",
      "Clustering Done\n"
     ]
    }
   ],
   "source": [
    "DTCRU.Cluster(clustering_method='phenograph',sample=500)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, we can visualize the clustering results through a UMAP representation of the sequences."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Clustering Visualization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9dbd973668>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "DTCRU.UMAP_Plot(by_cluster=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
